package com.goodfox.web.generic.organization.entity;

import java.io.Serializable;

import com.goodfox.web.generic.provide.annotation.DbEntity;
import com.goodfox.web.generic.provide.annotation.DbField;
import com.goodfox.web.generic.provide.entity.Grade;


/**
 * @author qin gt
 *
 */
@DbEntity(comment="组织机构",table="DSYS_ORGANIZATION")
public class Organization implements Serializable {

	@DbField(comment="实例化UID",meaning=false)
	private static final long serialVersionUID = 2243585105090416002L;

	@DbField(comment="机构ID",column="ORG_ID",pk=true,export=false,javaType="String",dataType="VARCHAR2",required=true,maxLength=50)
	private String orgId;

	@DbField(comment="所属上级ID",column="ORG_ID_PARENT",export=false,javaType="String",dataType="VARCHAR2",maxLength=50)
	private String orgIdParent;

	@DbField(comment="行政上级ID",column="ORG_ID_LEADER",export=false,javaType="String",dataType="VARCHAR2",maxLength=50)
	private String orgIdLeader;

	@DbField(comment="机构编码",column="ORG_CODE",javaType="String",dataType="VARCHAR2",maxLength=20)
	private String orgCode;

	@DbField(comment="机构类型",column="ORG_SCOPE",export=false,javaType="String",dataType="VARCHAR2",required=true,maxLength=2)
	private String orgScope;

	@DbField(comment="机构名称",column="ORG_NAME",javaType="String",dataType="VARCHAR2",required=true,maxLength=30)
	private String orgName;

	@DbField(comment="显示顺序",column="ORG_SORT",javaType="Long",dataType="NUMBER",maxLength=4)
	private Long orgSort;

	@DbField(comment="机构职能",column="ORG_FUNCTION",javaType="String",dataType="VARCHAR2",maxLength=50)
	private String orgFunction;

	@DbField(comment="机构联系地址",column="ORG_ADDRESS",javaType="String",dataType="VARCHAR2",maxLength=200)
	private String orgAddress;

	@DbField(comment="机构联系邮编",column="ORG_ZIP",javaType="String",dataType="VARCHAR2",maxLength=6)
	private String orgZip;

	@DbField(comment="机构联系电话",column="ORG_PHONE",javaType="String",dataType="VARCHAR2",maxLength=13)
	private String orgPhone;

	@DbField(comment="机构备注",column="ORG_REMARK",javaType="String",dataType="VARCHAR2",maxLength=200)
	private String orgRemark;

	@DbField(comment="机构状态",column="ORG_STATE",export=false,javaType="String",dataType="VARCHAR2",maxLength=2)
	private String orgState;

	@DbField(comment="地区ID",column="AREA_ID",export=false,javaType="String",dataType="NUMBER",maxLength=10)
	private String areaId;

	@DbField(comment="机构层级",column="ORG_GRADE",export=false,javaType="Long",dataType="NUMBER",maxLength=10)
	private Long orgGrade;

	@DbField(comment="所属上级",column="ORG_NAME_PARENT",direct=false)
	private String orgNameParent;
	
	@DbField(comment="行政上级",column="ORG_NAME_LEADER",direct=false)
	private String orgNameLeader;

	@DbField(comment="所属上级层级",column="ORG_GRADE_PARENT",javaType="Long",dataType="NUMBER",direct=false)
	private Long orgGradeParent;
	
	@DbField(comment="机构类型",column="ORG_SCOPE",direct=false)
	private String orgScopeName;

	@DbField(comment="地区",column="AREA_NAME",direct=false)
	private String areaName;

	@DbField(comment="子机构数量",column="SUB_COUNT",direct=false)
	private Long subCount;

	@DbField(comment="拥有员工数量",column="MEM_COUNT",direct=false)
	private Long memCount;

	public String getOrgId() {
		return orgId;
	}

	public void setOrgId(String orgId) {
		this.orgId = orgId;
	}

	public String getOrgIdParent() {
		return orgIdParent;
	}

	public void setOrgIdParent(String orgIdParent) {
		this.orgIdParent = orgIdParent;
	}

	public String getOrgIdLeader() {
		return orgIdLeader;
	}

	public void setOrgIdLeader(String orgIdLeader) {
		this.orgIdLeader = orgIdLeader;
	}

	public String getOrgCode() {
		return orgCode;
	}

	public void setOrgCode(String orgCode) {
		this.orgCode = orgCode;
	}

	public String getOrgScope() {
		return orgScope;
	}

	public void setOrgScope(String orgScope) {
		this.orgScope = orgScope;
	}

	public String getOrgName() {
		return orgName;
	}

	public void setOrgName(String orgName) {
		this.orgName = orgName;
	}

	public Long getOrgSort() {
		return orgSort;
	}

	public void setOrgSort(Long orgSort) {
		this.orgSort = orgSort;
	}

	public String getOrgFunction() {
		return orgFunction;
	}

	public void setOrgFunction(String orgFunction) {
		this.orgFunction = orgFunction;
	}

	public String getOrgAddress() {
		return orgAddress;
	}

	public void setOrgAddress(String orgAddress) {
		this.orgAddress = orgAddress;
	}

	public String getOrgZip() {
		return orgZip;
	}

	public void setOrgZip(String orgZip) {
		this.orgZip = orgZip;
	}

	public String getOrgPhone() {
		return orgPhone;
	}

	public void setOrgPhone(String orgPhone) {
		this.orgPhone = orgPhone;
	}

	public String getOrgRemark() {
		return orgRemark;
	}

	public void setOrgRemark(String orgRemark) {
		this.orgRemark = orgRemark;
	}

	public String getOrgState() {
		return orgState;
	}

	public void setOrgState(String orgState) {
		this.orgState = orgState;
	}

	public String getAreaId() {
		return areaId;
	}

	public void setAreaId(String areaId) {
		this.areaId = areaId;
	}

	public Long getOrgGrade() {
		return orgGrade;
	}

	public void setOrgGrade(Long orgGrade) {
		this.orgGrade = orgGrade;
	}

	public String getOrgNameParent() {
		return orgNameParent;
	}

	public void setOrgNameParent(String orgNameParent) {
		this.orgNameParent = orgNameParent;
	}

	public String getOrgNameLeader() {
		return orgNameLeader;
	}

	public void setOrgNameLeader(String orgNameLeader) {
		this.orgNameLeader = orgNameLeader;
	}

	public Long getOrgGradeParent() {
		return orgGradeParent;
	}

	public void setOrgGradeParent(Long orgGradeParent) {
		this.orgGradeParent = orgGradeParent;
	}

	public String getOrgScopeName() {
		return orgScopeName;
	}

	public void setOrgScopeName(String orgScopeName) {
		this.orgScopeName = orgScopeName;
	}

	public String getAreaName() {
		return areaName;
	}

	public void setAreaName(String areaName) {
		this.areaName = areaName;
	}

	public Long getSubCount() {
		return subCount;
	}

	public void setSubCount(Long subCount) {
		this.subCount = subCount;
	}

	public Long getMemCount() {
		return memCount;
	}

	public void setMemCount(Long memCount) {
		this.memCount = memCount;
	}
	
}
